package com.cskaoyan.javase.oop1._4sumup;

/**
 * 总结,类加载的特点:
 *   1.创建一个类的对象,一定会触发该类的类加载.在java中,我们把一定会触发类加载的场景,称之为"类加载的时机"
 *      目前我们已经见过的类加载时机:
 *       a.new对象
 *       b.启动一个类的main方法
 *       ...
 *   2.类加载是通过I/O的形式实现的,它的效率相对偏低,所以类加载在程序运行中是尽量少做,称之为"懒加载"
 *      只有不得不进行类加载,才会类加载
 *
 *
 * 关于成员变量在创建对象过程中的赋值:
 *      目前实际上有两种:
 *      1.默认初始化,具有默认值
 *      2.在定义成员变量时,可以直接"="号赋值,这种赋值方式称之为"显式赋值"
 *  默认初始化是永远的第一步,显式赋值在默认初始化之后进行.
 *
 *  创建对象之后再次赋值,肯定会覆盖创建对象过程中的赋值
 *
 * @since 16:30
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo {
    public static void main(String[] args) {
        // 只要一启动main方法,Demo类就类加载了,并且类加载在前,启动在后
        System.out.println("hello world!");

        Person p = new Person();
        System.out.println(p.age);
        p.age = 29;
        System.out.println(p.age);
    }
}

class Person {
    int age = 18;
}